
{% set HOSTNAME = grains['id'] %}
{% set SERVER = pillar['internal_zbx'] %}



/etc/yum.repos.d/zabbix-3.0.repo:
  file.managed:
    - source : salt://files/zabbix/zabbix-3.0.repo

zabbix-agent-install:  # 自定义的id，名称
  pkg.installed: # 状态模块，salt自带的， 模块.方法
    - name : zabbix-agent # 服务名
    - require:
      - file : /etc/yum.repos.d/zabbix-3.0.repo  # yum源 不存在不执行

  file.managed:
    - name: /etc/zabbix_agentd.conf  # 远程文件地址
    - source : salt://files/zabbix/zabbix_agentd.conf  # 本地文件位置
    - user: root
    - group: root
    - mode: 644
    - template: jinja
    - defaults :
      SERVER: {{SERVER}}
      HOSTNAME: {{ grains['fqdn'] }}
    - require:
      - pkg: zabbix-agent  #依赖于上面的状态，包装上了才执行这个。
  service.running:  # 不写name  IDzabbix-agent 就是name
    - name : zabbix-agent
    - enable: True
    - watch:  #文件、包发生变更重启
      - file: zabbix-agent-install
      - pkg: zabbix-agent-install
 
zabbix-agent.conf.d:
  file.directory:
    - name : /etc/zabbix_agentd.conf.d
    - watch_in:   # 目录有变化就重启
      - service: zabbix-agent
    - require:
      - pkg: zabbix-agent-install # 依赖于这个状态，包装上了才执行这个。
      - file: zabbix-agent-install

zubbix-agent-sudoer:
  file.append:
    - name: /etc/sudoers
    - text:
      - "Defaults:zabbix    !requiretty"
      - "zabbix ALL=(ALL)    NOPASSWD: /bin/netstat"
    - unless: grep zabbix /etc/sudoers

  cmd.run:
    - name: chmod +s /bin/netstat
    - watch:  # 文件、包发生变更重启
      - file: /etc/sudoers

